<?php
namespace Web\Controller;
use Think\Controller;
class ConfigController extends BaseController {



    public function index(){

          //接受 用户id
        $id = $_REQUEST['id'];
        //接受表单提交
        $sub = $_REQUEST['sub'];
        //接受修改信息
        $data = $_REQUEST['data'];

        $const_list = array();
        $value_list = array();
        if($data && $sub)
        {
            //标题
            $const_list[] = 'PRO_TITLE';
            $value_list[] = $data['pro_title'];
            //首页登录地址
            $const_list[] = 'PRO_INDEX';
            $value_list[] = $data['pro_index'];
            $const_list[] = 'PRO_IMAGE_PATH';
            $value_list[] = $data['img_path'];
            $this->setPage($const_list,$value_list);
            $this->redirect('index');
        }else{
            $this->display();
        }


    }


        /**
     * 修改config的函数
     * @param $arr1 配置前缀
     * @param $arr2 数据变量
     * @return bool 返回状态
     */
    function setPage($pat, $rep)
    {
        /**
         * 原理就是 打开config配置文件 然后使用正则查找替换 然后在保存文件.
         * 传递的参数为2个数组 前面的为配置 后面的为数值.  正则的匹配为单引号  如果你的是分号 请自行修改为分号
         * $pat[0] = 参数前缀;  例:   default_return_type
           $rep[0] = 要替换的内容;    例:  json
         */
        if (is_array($pat) and is_array($rep)) {

            for ($i = 0; $i < count($pat); $i++) {
                $pats[$i] = '/\'' . $pat[$i] . '\'(.*?),/';
                $reps[$i] = "'". $pat[$i]. "'". "=>" . "'".$rep[$i] ."',";
            }

            $fileurl = APP_PATH ."Web/Conf/page.php";
            $string = file_get_contents($fileurl); //加载配置文件
            $string = preg_replace($pats, $reps, $string); // 正则查找然后替换
            file_put_contents($fileurl, $string); // 写入配置文件
            return true;
        } else {
            return false;
        }
}

    public function edit_img(){


        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize   =     3145728 ;// 设置附件上传大小

        $upload->autoSub   =     false ;// 设置附件上传大小
        $upload->replace       =  true; //存在同名是否覆盖
        $upload->saveName   =     'pro' ;// 设置附件上传大小
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath  =      './Public/web/pro_img/'; // 设置附件上传根目录
        // 上传单个文件
        $info   =   $upload->upload();
        if(!$info) {// 上传错误提示错误信息
             dump($info);
             $returnValue =array('status'=>0,'path'=>$upload->getError());
        }else{// 上传成功 获取上传文件信息
            // dump($info);
             $returnValue =array('status'=>1,'path'=>$info['inputfile']['savename']);

        }

        echo json_encode($returnValue);
    }

}